#pragma once

#include "ZNetworkBuffer.h"

namespace	Z	{

//------------------------------------------------------------------------------------------------------------------------
class	_ZNetworkApi	NetworkReceiveBuffer
	:	public NetworkBuffer
{
public:
	NetworkReceiveBuffer();
	virtual	~NetworkReceiveBuffer();
	size_t	getWsaBufCount()	const;
	void	getWsaBufs(WSABUF* wsaBufs, size_t wsaBufCount)	const;
	void	onComplete(size_t bytesTransferred);
	void	reserve(size_t kSize);
	void	peek(void* data, size_t kSize)	const;
	void	pop(size_t kSize);
	size_t	getReceivableSize()	const	{	return getWritableSize();	}
};

}